//处理业务逻辑的中间件，读取某个json文件的数据
const path = require('path');
const fileUtils = require('../utils/file_utils');

module.exports = async (ctx, next) => {
    const url = ctx.request.url;
    let filePath = url.replace('/api', '');
    filePath = path.join(__dirname, '..', 'data', filePath + '.json');
    try{  //使用这里的try catch，可以进行处理错误的报错进行不用的返回数据进行对应的响应
        //进行调用获取文件数据的方法获取文件数据
        const result = await fileUtils.getFileJsonData(filePath);  //这里的await是接收使用promise，返回的是promise对象
        ctx.response.body = result;
    } catch (error) {
        const errorMsg = {
            message: '读取文件内容失败，文件资源不存在',
            status: 404
        }
        ctx.response.body = JSON.stringify(errorMsg);
    }
    await next();
}
